package org.example.myleet.p448;

import java.util.ArrayList;
import java.util.List;

public class Solution1 {

    /**
     * 6 ms
     * 官方正解，使用原地算法将x对应位置的值+n，超出n，最后统计不超出n的位置即为答案
     */
    public List<Integer> findDisappearedNumbers(int[] nums) {
        List<Integer> reply = new ArrayList<>();
        int n = nums.length;
        for (int num : nums) {
            int x = (num - 1) % n;
            nums[x] += n;
        }
        for (int i=0; i<n; i++) {
            if (nums[i] <= n) {
                reply.add(i+1);
            }
        }
        return reply;
    }
}
